<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">

<html>
  <head>
    <title>ocamljs 0.1 - library</title>
  </head>
  <body>

<h3>Standard library support</h3>

<p>Ocamljs compiles the unmodified standard library. It needs some
work still.

<table>
  <tr><td><b>module</b></td><td><b>status</b></td></tr>
  <tr><td>Arg</td><td>untested, probably works</td></tr>
  <tr><td>Array, ArrayLabels</td><td>works</td></tr>
  <tr><td>Buffer</td><td>works</td></tr>
  <tr><td>Callback</td><td>works</td></tr>
  <tr><td>CamlinternalMod</td><td>doesn't work</td></tr>
  <tr><td>CamlinternalOO</td><td>doesn't work</td></tr>
  <tr><td>Char</td><td>works</td></tr>
  <tr><td>Complex</td><td>untested, probably works</td></tr>
  <tr><td>Digest</td><td>md5 prims not implemented</td></tr>
  <tr><td>Filename</td><td>filesystem prims not implemented</td></tr>
  <tr><td>Format</td><td>untested, might work</td></tr>
  <tr><td>Gc</td><td>gc prims not implemented</td></tr>
  <tr><td>Genlex</td><td>untested, might work</td></tr>
  <tr><td>Hashtbl</td><td>untested, functorial interface probably works but caml_hash_univ_param not implemented</td></tr>
  <tr><td>Int32</td><td>untested, might work</td></tr>
  <tr><td>Int64</td><td>no support for 64 bit numbers</td></tr>
  <tr><td>Lazy</td><td>lazy prims not implemented</td></tr>
  <tr><td>Lexing</td><td>lex prims not implemented</td></tr>
  <tr><td>List, ListLabels</td><td>works</td></tr>
  <tr><td>Map</td><td>untested, probably works</td></tr>
  <tr><td>Marshal</td><td>marshal prims not implemented</td></tr>
  <tr><td>MoreLabels</td><td>untested, probably works</td></tr>
  <tr><td>Nativeint</td><td>untested, might work</td></tr>
  <tr><td>Obj</td><td>obj prims not implemented</td></tr>
  <tr><td>Oo</td><td>doesn't work</td></tr>
  <tr><td>Parsing</td><td>parsing prims not implemented</td></tr>
  <tr><td>Pervasives</td><td>partially works, no filesystem support</td></tr>
  <tr><td>Printexc</td><td>doesn't work</td></tr>
  <tr><td>Printf</td><td>works</td></tr>
  <tr><td>Queue</td><td>untested, might work</td></tr>
  <tr><td>Random</td><td>untested, might work</td></tr>
  <tr><td>Scanf</td><td>untested, probably doesn't work</td></tr>
  <tr><td>Set</td><td>untested, probably works</td></tr>
  <tr><td>Sort</td><td>untested, probably works</td></tr>
  <tr><td>Stack</td><td>untested, probably works</td></tr>
  <tr><td>Std_exit</td><td>untested, probably works, but "at exit" may not be what you want</td></tr>
  <tr><td>StdLabels</td><td>untested, probably works</td></tr>
  <tr><td>Stream</td><td>untested, probably doesn't work</td></tr>
  <tr><td>String, StringLabels</td><td>works</td></tr>
  <tr><td>Sys</td><td>sys prims not implemented</td></tr>
  <tr><td>Weak</td><td>weak prims not implemented</td></tr>

</table>

<h3>Other libraries</h3>

<p>The Ocamljs library gives declarations for the special primitives
recognized by the external function mechanism. Depending on how you
use them you may want to declare them with different types.</p>

<p>The Javascript library wraps a little bit of the standard
Javascript library.</p>

<p>The Mozilla library wraps a little bit of the Mozilla XPCOM API.</p>

</body>
</html>
